<!DOCTYPE html>



  


<html class="theme-next pisces use-motion" lang="zh-Hans">
<head>
  <meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
<meta name="theme-color" content="#222">









<meta http-equiv="Cache-Control" content="no-transform" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
















  
  
  <link href="/lib/fancybox/source/jquery.fancybox.css?v=2.1.5" rel="stylesheet" type="text/css" />







<link href="/lib/font-awesome/css/font-awesome.min.css?v=4.6.2" rel="stylesheet" type="text/css" />

<link href="/css/main.css?v=5.1.3" rel="stylesheet" type="text/css" />


  <link rel="apple-touch-icon" sizes="180x180" href="/images/favicon.ico?v=5.1.3">


  <link rel="icon" type="image/png" sizes="32x32" href="/images/favicon.ico?v=5.1.3">


  <link rel="icon" type="image/png" sizes="16x16" href="/images/favicon.ico?v=5.1.3">


  <link rel="mask-icon" href="/images/logo.svg?v=5.1.3" color="#222">





  <meta name="keywords" content="DNS,dnsmasq," />










<meta name="description" content="前言这里是关于DNSmasq的定义  在代码格式中我使用了诸如“// 1”的注释表示，1表示取消当前注释则开启说明所表示的功能，0则相反 在这篇文章中你会见到一些专业术语，这里尽可能地将它们列出来，并尽可能地在文末提供了注释      中文 英文 缩写      按需拨号 dial-on-demand    选项 option DDR   域 domain    主机 host    规格 spe">
<meta name="keywords" content="DNS,dnsmasq">
<meta property="og:type" content="article">
<meta property="og:title" content="dnsmasq-conf(中文版)">
<meta property="og:url" content="http://hexo.mantoujun.top/2017/04/28/dnsmasq-conf(中文版)/index.html">
<meta property="og:site_name" content="未知领域">
<meta property="og:description" content="前言这里是关于DNSmasq的定义  在代码格式中我使用了诸如“// 1”的注释表示，1表示取消当前注释则开启说明所表示的功能，0则相反 在这篇文章中你会见到一些专业术语，这里尽可能地将它们列出来，并尽可能地在文末提供了注释      中文 英文 缩写      按需拨号 dial-on-demand    选项 option DDR   域 domain    主机 host    规格 spe">
<meta property="og:locale" content="zh-Hans">
<meta property="og:updated_time" content="2017-04-29T14:22:26.000Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="dnsmasq-conf(中文版)">
<meta name="twitter:description" content="前言这里是关于DNSmasq的定义  在代码格式中我使用了诸如“// 1”的注释表示，1表示取消当前注释则开启说明所表示的功能，0则相反 在这篇文章中你会见到一些专业术语，这里尽可能地将它们列出来，并尽可能地在文末提供了注释      中文 英文 缩写      按需拨号 dial-on-demand    选项 option DDR   域 domain    主机 host    规格 spe">



<script type="text/javascript" id="hexo.configurations">
  var NexT = window.NexT || {};
  var CONFIG = {
    root: '/',
    scheme: 'Pisces',
    version: '5.1.3',
    sidebar: {"position":"left","display":"always","offset":12,"b2t":false,"scrollpercent":false,"onmobile":false},
    fancybox: true,
    tabs: true,
    motion: {"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},
    duoshuo: {
      userId: '0',
      author: '博主'
    },
    algolia: {
      applicationID: '',
      apiKey: '',
      indexName: '',
      hits: {"per_page":10},
      labels: {"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}
    }
  };
</script>



  <link rel="canonical" href="http://hexo.mantoujun.top/2017/04/28/dnsmasq-conf(中文版)/"/>





  <title>dnsmasq-conf(中文版) | 未知领域</title>
  








</head>

<body itemscope itemtype="http://schema.org/WebPage" lang="zh-Hans">

  
  
    
  

  <div class="container sidebar-position-left page-post-detail">
    <div class="headband"></div>

    <header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-brand-wrapper">
  <div class="site-meta ">
    

    <div class="custom-logo-site-title">
      <a href="/"  class="brand" rel="start">
        <span class="logo-line-before"><i></i></span>
        <span class="site-title">未知领域</span>
        <span class="logo-line-after"><i></i></span>
      </a>
    </div>
      
        <p class="site-subtitle">女装是最吼的</p>
      
  </div>

  <div class="site-nav-toggle">
    <button>
      <span class="btn-bar"></span>
      <span class="btn-bar"></span>
      <span class="btn-bar"></span>
    </button>
  </div>
</div>

<nav class="site-nav">
  

  
    <ul id="menu" class="menu">
      
        
        <li class="menu-item menu-item-home">
          <a href="/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-home"></i> <br />
            
            首页
          </a>
        </li>
      
        
        <li class="menu-item menu-item-tags">
          <a href="/tags/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-tags"></i> <br />
            
            标签
          </a>
        </li>
      
        
        <li class="menu-item menu-item-categories">
          <a href="/categories/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-th"></i> <br />
            
            分类
          </a>
        </li>
      
        
        <li class="menu-item menu-item-archives">
          <a href="/archives/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-archive"></i> <br />
            
            归档
          </a>
        </li>
      

      
    </ul>
  

  
</nav>



 </div>
    </header>

    <main id="main" class="main">
      <div class="main-inner">
        <div class="content-wrap">
          <div id="content" class="content">
            

  <div id="posts" class="posts-expand">
    

  

  
  
  

  <article class="post post-type-normal" itemscope itemtype="http://schema.org/Article">
  
  
  
  <div class="post-block">
    <link itemprop="mainEntityOfPage" href="http://hexo.mantoujun.top/2017/04/28/dnsmasq-conf(中文版)/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="name" content="pancc">
      <meta itemprop="description" content="">
      <meta itemprop="image" content="/uploads/avatar.jpg">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="未知领域">
    </span>

    
      <header class="post-header">

        
        
          <h1 class="post-title" itemprop="name headline">dnsmasq-conf(中文版)</h1>
        

        <div class="post-meta">
          <span class="post-time">
            
              <span class="post-meta-item-icon">
                <i class="fa fa-calendar-o"></i>
              </span>
              
                <span class="post-meta-item-text">发表于</span>
              
              <time title="创建于" itemprop="dateCreated datePublished" datetime="2017-04-28T14:56:26+08:00">
                2017-04-28
              </time>
            

            

            
          </span>

          
            <span class="post-category" >
            
              <span class="post-meta-divider">|</span>
            
              <span class="post-meta-item-icon">
                <i class="fa fa-folder-o"></i>
              </span>
              
                <span class="post-meta-item-text">分类于</span>
              
              
                <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
                  <a href="/categories/DNS/" itemprop="url" rel="index">
                    <span itemprop="name">DNS</span>
                  </a>
                </span>

                
                
                  ， 
                
              
                <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
                  <a href="/categories/DNS/dnsmasq/" itemprop="url" rel="index">
                    <span itemprop="name">dnsmasq</span>
                  </a>
                </span>

                
                
              
            </span>
          

          
            
          

          
          

          

          

          

        </div>
      </header>
    

    
    
    
    <div class="post-body" itemprop="articleBody">

      
      

      
        <h1 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言<span id="return_from_DNSmasq"></span></h1><p>这里是关于<a href="#DNSmasq">DNSmasq</a>的定义</p>
<ul>
<li>在代码格式中我使用了诸如“// 1”的注释表示，1表示取消当前注释则开启说明所表示的功能，0则相反</li>
<li>在这篇文章中你会见到一些专业术语，这里尽可能地将它们列出来，并尽可能地在文末提供了注释</li>
</ul>
<hr>
<table>
<thead>
<tr>
<th>中文</th>
<th>英文</th>
<th>缩写</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>按需拨号</td>
<td>dial-on-demand</td>
<td></td>
</tr>
<tr>
<td>选项</td>
<td>option</td>
<td>DDR</td>
</tr>
<tr>
<td>域</td>
<td>domain</td>
<td></td>
</tr>
<tr>
<td>主机</td>
<td>host</td>
<td></td>
</tr>
<tr>
<td>规格</td>
<td>specs</td>
<td></td>
</tr>
<tr>
<td>非路由</td>
<td>non-routed</td>
<td></td>
</tr>
<tr>
<td>空间</td>
<td>space</td>
<td></td>
</tr>
<tr>
<td>服务定位资源记录</td>
<td></td>
<td>SRV</td>
</tr>
<tr>
<td>会话初始协议</td>
<td>Session Initiation Protocol</td>
<td>SIP</td>
</tr>
<tr>
<td>域名服务器</td>
<td>nameserver</td>
<td></td>
</tr>
<tr>
<td>域名</td>
<td>domain name</td>
<td></td>
</tr>
<tr>
<td>会话</td>
<td>talk</td>
<td></td>
</tr>
<tr>
<td>用户身份证明</td>
<td>User Identification</td>
<td>UID</td>
</tr>
<tr>
<td>组身份证明</td>
<td>group Identification</td>
<td>GID</td>
</tr>
<tr>
<td>接口</td>
<td>Interface</td>
<td></td>
</tr>
<tr>
<td>监听</td>
<td>listen</td>
<td></td>
</tr>
<tr>
<td>租借</td>
<td>lease</td>
<td></td>
</tr>
<tr>
<td>中继代理</td>
<td>relay agent</td>
<td></td>
</tr>
<tr>
<td>电子掩码</td>
<td>netmask</td>
<td></td>
</tr>
<tr>
<td>网络 ID</td>
<td>network-id</td>
<td></td>
</tr>
<tr>
<td>参数</td>
<td>parameter</td>
<td></td>
</tr>
<tr>
<td>客户机标识符</td>
<td>client identifier</td>
<td></td>
</tr>
<tr>
<td>操作系统</td>
<td>Operating System</td>
<td>OS</td>
</tr>
<tr>
<td>启动</td>
<td>boot</td>
<td></td>
</tr>
<tr>
<td>标志</td>
<td>flag</td>
<td></td>
</tr>
<tr>
<td>供应商类</td>
<td>vendorclass</td>
<td></td>
</tr>
<tr>
<td>用户类</td>
<td>userclass</td>
<td></td>
</tr>
<tr>
<td>字串</td>
<td>substring</td>
<td></td>
</tr>
<tr>
<td>模式</td>
<td>pattern</td>
<td></td>
</tr>
<tr>
<td>映射</td>
<td>mappings</td>
<td></td>
</tr>
<tr>
<td>预设路径</td>
<td>default route</td>
<td></td>
</tr>
<tr>
<td>网络时间协议</td>
<td>Network Time Protocol</td>
<td>NTP</td>
</tr>
<tr>
<td>存活时间</td>
<td>time-to-live</td>
<td>ttl</td>
</tr>
<tr>
<td>子网</td>
<td>subnet</td>
<td></td>
</tr>
<tr>
<td>静态</td>
<td>static</td>
<td></td>
</tr>
<tr>
<td>特性</td>
<td>specific</td>
<td></td>
</tr>
<tr>
<td>封装</td>
<td>encapsulate</td>
<td></td>
</tr>
<tr>
<td>前缀</td>
<td>prefix</td>
<td></td>
</tr>
<tr>
<td>超时</td>
<td>timeout</td>
<td></td>
</tr>
<tr>
<td>装载</td>
<td>Load</td>
<td></td>
</tr>
<tr>
<td>多路广播</td>
<td>multicast</td>
<td></td>
</tr>
<tr>
<td>广播</td>
<td>broadcast</td>
<td></td>
</tr>
<tr>
<td>简单文件传输协议</td>
<td>Trivial File Transfer Protocol</td>
<td>TFTP</td>
</tr>
<tr>
<td>电子签名</td>
<td>Verisign</td>
<td></td>
</tr>
<tr>
<td>邮件交换</td>
<td>Mail Exchanger</td>
<td>MX</td>
</tr>
<tr>
<td>指针记录</td>
<td>Pointer Record</td>
<td>PTR</td>
</tr>
<tr>
<td>别名</td>
<td>alias</td>
</tr>
</tbody>
</table>
<hr>
<h1 id="DNS"><a href="#DNS" class="headerlink" title="DNS"></a>DNS</h1><h2 id="基础转发规则"><a href="#基础转发规则" class="headerlink" title="基础转发规则"></a>基础转发规则</h2><p>格式是一个选项一行，合法的多个选项跟在命令行中的多个合格的选项一样。见“/usr/sbin/dnsmasq –help” 或者“man 8 dnsmasq” 里的更多细节。下面的两个选项让你更好地使用网络，因为它们告诉 dnsmasq 过滤那些公共 DNS 不能处理的不需要装在服务器( 特别是根服务器中 )的请求。如果你有个按需拨号（dial-on-demand）的连接，这些服务器会阻止这些不需要的连接的建立( bring up )。</p>
<h3 id="从不转发那些不存在的名-没有点或者域部分"><a href="#从不转发那些不存在的名-没有点或者域部分" class="headerlink" title="从不转发那些不存在的名( 没有点或者域部分 )"></a>从不转发那些不存在的名( 没有点或者域部分 )</h3><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#domain-needed //1</span><br></pre></td></tr></table></figure>
<h3 id="从不为存在于那些非路由（non-routed-）地址的空间转发地址"><a href="#从不为存在于那些非路由（non-routed-）地址的空间转发地址" class="headerlink" title="从不为存在于那些非路由（non-routed ）地址的空间转发地址"></a>从不为存在于那些非路由（non-routed ）地址的空间转发地址</h3><figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#bogus-priv   //1</span></span><br></pre></td></tr></table></figure>
<h3 id="过滤无用的来源为Windows的DNS请求"><a href="#过滤无用的来源为Windows的DNS请求" class="headerlink" title="过滤无用的来源为Windows的DNS请求"></a>过滤无用的来源为Windows的DNS请求</h3><p>取消这个注释以过滤无用的来源为Windows的DNS请求，这些请求会引起不必要的按需拨号的连接。注意 ( 在其他地方 )，这阻止所有<span id="return_from_SRV_record"></span> <a href="#SRV_record">服务定位资源记录 (SRV )</a>，所以除非你使用诸如<span id="return_from_Kerberos"><a href="#Kerberos">Kerberos</a>, <span id="return_from_SIP"></span><a href="#SIP">SIP</a>, <span id="return_from_XMPP"></span><a href="#XMPP">XMMP</a> 或者<span id="return_from_Google-talk"></span> <a href="#Google-talk">Google-talk</a> ，不要使用它。这个选项只影响转发,为 dnsmasq 生成的SRV 记录 ( 通过 srv-host= lines ) 不受其限制</span></p>
<figure class="highlight gcode"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">#filterwin2</span>k <span class="comment">//1</span></span><br></pre></td></tr></table></figure>
<h2 id="上游服务器相关"><a href="#上游服务器相关" class="headerlink" title="上游服务器相关"></a>上游服务器相关</h2><h3 id="从上游服务器中获取-dns"><a href="#从上游服务器中获取-dns" class="headerlink" title="从上游服务器中获取 dns"></a>从上游服务器中获取 dns</h3><p>改变这一行如果你想要从上游服务器中获取dns，上游的设置文件在<code>/etc/resolv.conf</code></p>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#resolv-file=   //填入上游文件名</span></span><br></pre></td></tr></table></figure>
<h3 id="强制上游-DNS-寻找顺序"><a href="#强制上游-DNS-寻找顺序" class="headerlink" title="强制上游 DNS 寻找顺序"></a>强制上游 DNS 寻找顺序</h3><p>默认情况下，dnsmasq 会发送请求给任意一个知道回复的上游服务器并设置最优服务器。取消这里的注释以强制dnsmasq 按设置文件/<code>etc/resolv.conf</code>中顺序对上游服务器发出尝试请求</p>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#strict-order //1</span></span><br></pre></td></tr></table></figure>
<h3 id="不读取conf-或其他文件"><a href="#不读取conf-或其他文件" class="headerlink" title="不读取conf 或其他文件"></a>不读取conf 或其他文件</h3><p>如果你不希望dnsmasq 读取<code>/etc/resolv.conf</code>或其他文件而是在这个文件中获得上游域名服务器<span id="return_from_other_servers"></span>(<a href="#other_servers">如下</a>)，取消这一条注释</p>
<h3 id="不查找conf，resolv文件"><a href="#不查找conf，resolv文件" class="headerlink" title="不查找conf，resolv文件"></a>不查找conf，resolv文件</h3><p>如果你不需要dnsmasq 查找<code>/etc/resolv.conf</code>或其他<code>resolv文件</code>和重读，注释掉这里</p>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#no-poll  //1</span></span><br></pre></td></tr></table></figure>
<p><span id="other_servers"></span></p>
<h3 id="其他域名服务器"><a href="#其他域名服务器" class="headerlink" title="其他域名服务器"></a>其他域名服务器</h3><p>在这里添加其他域名服务器，如果是私有域名，添加域名规格</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">#server=/localnet/192.168.0.1 “localnet ”是域名规格</span><br><span class="line">or</span><br><span class="line">#server=114.114.114.114</span><br></pre></td></tr></table></figure>
<p><a href="#return_from_other_servers">返回</a></p>
<h2 id="请求转发类型"><a href="#请求转发类型" class="headerlink" title="请求转发类型"></a>请求转发类型</h2><h3 id="路由器选择"><a href="#路由器选择" class="headerlink" title="路由器选择"></a>路由器选择</h3><p>一个路由器选择PTR请求到域名服务器( nameserver  )：这会发送所有对<code>192.168.3/24</code>的请求<code>address-&gt;name</code> 到域名服务器<code>10.1.2.3</code></p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#server=/3.168.192.in-addr.arpa/10.1.2.3</span><br></pre></td></tr></table></figure>
<h3 id="仅本地域名"><a href="#仅本地域名" class="headerlink" title="仅本地域名"></a>仅本地域名</h3><p>添加仅本地( local-only )域名,对这些域名的请求将仅由 <code>/etc/hosts</code> 或者 <code>DHCP</code> 回应</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span>local=/localnet/</span><br></pre></td></tr></table></figure>
<h3 id="强制跳转"><a href="#强制跳转" class="headerlink" title="强制跳转"></a>强制跳转</h3><ul>
<li>添加强制到特定IP的域名。下边的例子发送任何在 <code>doubleclick-net</code>到本地服务器</li>
</ul>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#address=/doubleclick.net/127.0.0.1</span><br></pre></td></tr></table></figure>
<ul>
<li>address或者server与IPv6也是支持的</li>
</ul>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#address=/www.thekelleys.org.uk/fe80::20d:60ff:fe36:f83</span><br></pre></td></tr></table></figure>
<h2 id="控制会话方式"><a href="#控制会话方式" class="headerlink" title="控制会话方式"></a>控制会话方式</h2><p>你可以控制dnsmasq 与一个服务器的会话方式：</p>
<ul>
<li>这个强制对10.1.2.3的请求通过eth1：<code>server=10.1.2.3@eth1</code></li>
<li>这个设置与10.1.2.3的会话的源(ie local  )地址到192.168.1.1，端口（port）55(显然这个机器必须要有与这个IP绑定的接口)：<code>server=10.1.2.3@192.168.1.1#55</code></li>
</ul>
<h2 id="改变UID和GID"><a href="#改变UID和GID" class="headerlink" title="改变UID和GID"></a>改变UID和GID</h2><p>如果你想要dnsmasq改变uid和gid到其他值，而不使用预设值，编辑下边的行</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">#user=</span><br><span class="line"></span><br><span class="line">#group=</span><br></pre></td></tr></table></figure>
<h2 id="接口"><a href="#接口" class="headerlink" title="接口"></a>接口</h2><h3 id="监听"><a href="#监听" class="headerlink" title="监听"></a>监听</h3><ul>
<li>如果你想要dnsmasq仅在特定接口（和回路）监听 DHCP 和 DNS 请求，给接口命名（如：<code>eth0</code>）,重复行如果你有多个接口</li>
</ul>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#interface=</span></span><br></pre></td></tr></table></figure>
<ul>
<li>或者你设置特定接口不监听</li>
</ul>
<figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#except-interface=</span><br></pre></td></tr></table></figure>
<ul>
<li>或者哪个通过特定地址（address）监听（包括127.0.0.1如果有使用的话）</li>
</ul>
<figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#listen-address=</span><br></pre></td></tr></table></figure>
<h3 id="一个接口上提供-DNS"><a href="#一个接口上提供-DNS" class="headerlink" title="一个接口上提供 DNS"></a>一个接口上提供 DNS</h3><p>如果你只想在一个接口上提供 DNS 服务，如下设置它，然后使用如下行为它关闭DHCP</p>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#no-dhcp-interface=</span></span><br></pre></td></tr></table></figure>
<h3 id="接口接受通配符地址"><a href="#接口接受通配符地址" class="headerlink" title="接口接受通配符地址"></a>接口接受通配符地址</h3><p>在支持的系统上,dnsmasq绑定通配符地址，即使在它只在一些接口上监听，然后它抛弃那些不应该回复的请求。即使在接口不断变化和改变地址的情况下，这仍然有好处.如果你确实要dnsmasq去绑定它正在监听的接口，注释掉这个选择.是在你在于一个机器上运行另一个域名服务器的情况下，你可能不止一次需要它</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span>bind-interfaces</span><br></pre></td></tr></table></figure>
<h2 id="hosts"><a href="#hosts" class="headerlink" title="hosts"></a>hosts</h2><h3 id="读取-etc-hosts文件"><a href="#读取-etc-hosts文件" class="headerlink" title="读取/etc/hosts文件"></a>读取/etc/hosts文件</h3><p>如果你不想要dnsmasq去读取<code>/etc/hosts</code>, 注释掉这一行</p>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#no-hosts</span></span><br></pre></td></tr></table></figure>
<h3 id="添加其他hosts文件"><a href="#添加其他hosts文件" class="headerlink" title="添加其他hosts文件"></a>添加其他hosts文件</h3><p>或者你需要其他文件，和<code>/etc/hosts</code>，用这个</p>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#addn-hosts=/etc/banner_add_hosts</span></span><br></pre></td></tr></table></figure>
<h3 id="域名自动添加"><a href="#域名自动添加" class="headerlink" title="域名自动添加"></a>域名自动添加</h3><p>设置这个（和域名：见下边），如果你想要一个域名自动被添加到hosts-file 的简单名中</p>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#expand-hosts</span></span><br></pre></td></tr></table></figure>
<h2 id="dnsmasq-域名"><a href="#dnsmasq-域名" class="headerlink" title="dnsmasq 域名"></a>dnsmasq 域名</h2><h3 id="为dnsmasq设置一个域名，这是可选的，但一旦设置，它执行了如下行为"><a href="#为dnsmasq设置一个域名，这是可选的，但一旦设置，它执行了如下行为" class="headerlink" title="为dnsmasq设置一个域名，这是可选的，但一旦设置，它执行了如下行为"></a>为dnsmasq设置一个域名，这是可选的，但一旦设置，它执行了如下行为</h3><ol>
<li>允许 DHCP 主机有一个完整合法的域名，只要域部分符合这个设定</li>
<li>设置“domain” DHCP 选项从而隐藏地所有系统上的域由 DHCP 设定</li>
<li>为 “expand-hosts”提供域部分</li>
</ol>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#domain=thekelleys.org.uk</span><br></pre></td></tr></table></figure>
<ul>
<li>为不同的子网设置不同域名</li>
</ul>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#domain=wireless.thekelleys.org.uk,192.168.2.0/24</span><br></pre></td></tr></table></figure>
<ul>
<li>更多选项，比子网更加扩展</li>
</ul>
<figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#domain=reserved<span class="selector-class">.thekelleys</span><span class="selector-class">.org</span><span class="selector-class">.uk</span>,<span class="number">192.68</span>.<span class="number">3.100</span>,<span class="number">192.168</span>.<span class="number">3.200</span></span><br></pre></td></tr></table></figure>
<hr>
<h1 id="DHCP"><a href="#DHCP" class="headerlink" title="DHCP"></a>DHCP</h1><h2 id="启用完整的-DHCP"><a href="#启用完整的-DHCP" class="headerlink" title="启用完整的 DHCP"></a>启用完整的 DHCP</h2><p>注释掉这一行以启用完整的 DHCP 服务，你需要提供地址（addresses）范围（range）以供租借（租借时间是可选的）。<br>如果你有多个网络，在每个应用DHCP 服务的网络重复这个</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-range=192.168.0.50,192.168.0.150,12h</span><br></pre></td></tr></table></figure>
<h2 id="DHCP-范围类型"><a href="#DHCP-范围类型" class="headerlink" title="DHCP 范围类型"></a>DHCP 范围类型</h2><h3 id="电子掩码"><a href="#电子掩码" class="headerlink" title="电子掩码"></a>电子掩码</h3><p>这是一个拥有电子掩码DHCP 范围的例子。在我们通过一个中继代理（relay agent）到达dnsmasq DHCP 服务的情况下，电子掩码是必须的。如果你并不知道什么是DHCP 中继代理，你大概不需要注意这个</p>
<figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-range=<span class="number">192.168</span>.<span class="number">0.50</span>,<span class="number">192.168</span>.<span class="number">0.150</span>,<span class="number">255.255</span>.<span class="number">255.0</span>,<span class="number">12</span>h</span><br></pre></td></tr></table></figure>
<h3 id="网络ID"><a href="#网络ID" class="headerlink" title="网络ID"></a>网络ID</h3><p>这是一个拥有网络ID（network-id）的DHCP范围的例子，所以一些DHCP选项可以被设置仅对这个网络生效</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-range=red,192.168.0.50,192.168.0.150</span><br></pre></td></tr></table></figure>
<h2 id="对主机的处理"><a href="#对主机的处理" class="headerlink" title="对主机的处理"></a>对主机的处理</h2><p>使用DHCP 为特定主机应用参数。这里是一些有效的选择，所以我们为每个提供了例子.注意IP 地址<strong>不应该</strong>出现在上述的范围中，它们只需要在同一个网络。参数的顺序不做要求，name,adddress 和 MAC 的任意排序是允许的。<br> 1.总是为主机分配以太网地址。</p>
<ul>
<li>11:22:33:44:55:66</li>
<li>The IP address 192.168.0.60 </li>
</ul>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line">#dhcp-host=11:22:33:44:55:66,192.168.0.60</span><br></pre></td></tr></table></figure>
<p> 2.总是用硬件地址为主机设置名</p>
<ul>
<li>11:22:33:44:55:66 to be “fred”</li>
</ul>
<figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-host=<span class="number">11</span>:<span class="number">22</span>:<span class="number">33</span>:<span class="number">44</span>:<span class="number">55</span>:<span class="number">66</span>,fred</span><br></pre></td></tr></table></figure>
<p> 3.总是给主机以太网地址，名字“fred”，ip地址，租借时间45分</p>
<figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-host=<span class="number">11</span>:<span class="number">22</span>:<span class="number">33</span>:<span class="number">44</span>:<span class="number">55</span>:<span class="number">66</span>,fred,<span class="number">192.168</span>.<span class="number">0.60</span>,<span class="number">45</span>m</span><br></pre></td></tr></table></figure>
<p> 4.给一个主机两个以太网地址（用”,”分隔)和IP地址.dnsmasq会假定这两个以太网接口没有被在同一时间使用，然后把IP地址分配给第二个，尽管这个IP地址已经被第一个接口使用。在使用无线和有线地址的笔记本上十分有用</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-host=11:22:33:44:55:66,12:34:56:78:90:12,192.168.0.60</span><br></pre></td></tr></table></figure>
<p> 5.给一个声称它的名是“bert”的主机 IP 地址和无限（infinite）租借时间</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-host=bert,192.168.0.70,infinite</span><br></pre></td></tr></table></figure>
<p> 6.总是给主机客户机标识符</p>
<ul>
<li>标识符 01:02:02:04</li>
<li>IP 地址 192.168.0.60</li>
</ul>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-host=id:01:02:02:04,192.168.0.60</span><br></pre></td></tr></table></figure>
<p> 7.总是给主机客户标识符</p>
<ul>
<li>标识符 marjorie</li>
<li>IP地址 192.168.0.60  </li>
</ul>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-host=id:marjorie,192.168.0.60</span><br></pre></td></tr></table></figure>
<p> 8.启用在<code>/etc/hosts</code>中赋予名“judge”的地址，当一个机器声称自己名是”judge“的主机请求 DHCP 租借时，将地址赋予它</p>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#dhcp-host=judge</span></span><br></pre></td></tr></table></figure>
<p> 9.永远不给以太网地址是11:22:33:44:55:66的机器提供DHCP服务</p>
<figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-host=11:22:33:44:55:66,ignore</span><br></pre></td></tr></table></figure>
<p> 10.忽略以太网地址为11：22：33：44:55的提供用户标识符的机器。在阻止那些运行不同OS或PXE boot和 PS BOOT之间切换的机器受到不同的处理时很有用</p>
<figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-host=<span class="number">11</span>:<span class="number">22</span>:<span class="number">33</span>:<span class="number">44</span>:<span class="number">55</span>:<span class="number">66</span>,id:*</span><br></pre></td></tr></table></figure>
<p> 11.发送标志为“red”的额外选项给以太网地址为11:22:33:44:55的机器</p>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#dhcp-host=11:22:33:44:55:66,net:red</span></span><br></pre></td></tr></table></figure>
<p> 12.发送标志为“red”的额外选项给以太网地址以11:22:33开始的机器</p>
<figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-host=<span class="number">11</span>:<span class="number">22</span>:<span class="number">33</span>:::*,net:red</span><br></pre></td></tr></table></figure>
<p> 13.忽略任何在<code>dhcp-host</code> 行或 <code>etc/ethers</code>文件 中被指定的客户( clients ). 等同于<span id="return_from_ISC"></span><a href="#ISC">ISC</a>“ deny unkown-clients” .这依赖于主机匹配时建立的特殊“known”标志</p>
<p> 14.发送标志为“red”的额外选择给DHCP 供应商类（ vendorclass）串( string )包含字串( substring  )“Linux”的机器</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span>dhcp-vendorclass=red,Linux</span><br></pre></td></tr></table></figure>
<p> 15.发送标志为“red”的额外选择给用户类( userclass )串 string )包含字串字串( substring )“accounts”的机器</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span>dhcp-userclass=red,accounts</span><br></pre></td></tr></table></figure>
<p> 16.发送标志为“red”的额外选择给 MAC 地址匹配模式( pattern )的机器</p>
<figure class="highlight clean"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-mac=red,<span class="number">00</span>:<span class="number">60</span>:<span class="number">8</span>C:::*</span><br></pre></td></tr></table></figure>
<h2 id="对发现的物理地址-IP对执行动作"><a href="#对发现的物理地址-IP对执行动作" class="headerlink" title="对发现的物理地址/IP对执行动作"></a>对发现的<code>物理地址/IP</code>对执行动作</h2><p>如果取消这段注释，dsnamasq将会读取<code>/etc/ethers</code>文件并对发现的<code>物理地址/IP</code>对( <code>ethernet-address/IP</code> )做出执行动作，正像它们被赋予的“–dhcp-host options”。在你出于其他目的保留 <code>物理地址/主机</code>( MAC-address/host ) 映射(  mappings  )时十分有用</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span>read-ethers</span><br></pre></td></tr></table></figure>
<h2 id="发送的选项"><a href="#发送的选项" class="headerlink" title="发送的选项"></a>发送的选项</h2><p>发送一些选项给请求 DHCP 租借的主机，详见<code>RFC 2132</code>，dnsmasq按照以名的方法给出常用的选择：执行<code>dnsmasq –help dhcp</code>可以查看选择表。注意，dnsmasq提供完整的预设值( defaults )包括所有的常用设定，比如网络掩码，广播地址，DNS 服务器和预设路径（route）.你很大可能不用用到<code>dhcp-options</code>。如果你使用window 客户端，Samba，请参照这一部分尾部的推荐值</p>
<h3 id="路径"><a href="#路径" class="headerlink" title="路径"></a>路径</h3><ul>
<li>推翻dnsmasq提供的预设路径（default route），这假定路由器与运行dnsmasq为同一个机器</li>
</ul>
<figure class="highlight lsl"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-option=<span class="number">3</span>,<span class="number">1.2</span><span class="number">.3</span><span class="number">.4</span></span><br></pre></td></tr></table></figure>
<ul>
<li>做同样的事情，单使用选择名（option name）</li>
</ul>
<figure class="highlight x86asm"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-<span class="meta">option</span>=<span class="meta">option</span>:router,<span class="number">1.2</span><span class="meta">.3</span><span class="meta">.4</span></span><br></pre></td></tr></table></figure>
<ul>
<li>推翻dnsmasq提供的预设路径（default route），但不发送任何的预设路径。注意这只适用于在由预设<code>(1, 3, 6, 12, 28)</code>提供选择，同一行 选择<code>0长度</code>( zero-length  )选择以替换其他选择字段(numbers)</li>
</ul>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#dhcp-option=3</span></span><br></pre></td></tr></table></figure>
<h2 id="网络时间协议-NTP"><a href="#网络时间协议-NTP" class="headerlink" title="网络时间协议 NTP"></a>网络时间协议 NTP</h2><ul>
<li>设置网络时间协议( NTP )时间服务器地址为 <code>192.168.0.4</code>和<code>10.10.0.5</code></li>
</ul>
<figure class="highlight x86asm"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-<span class="meta">option</span>=<span class="meta">option</span>:ntp-server,<span class="number">192.168</span><span class="meta">.0</span><span class="meta">.4</span>,<span class="number">10.10</span><span class="meta">.0</span><span class="meta">.5</span></span><br></pre></td></tr></table></figure>
<ul>
<li>设置网络时间协议( NTP )时间服务器到同一个机器，正如运行dnsmasq</li>
</ul>
<figure class="highlight lsl"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-option=<span class="number">42</span>,<span class="number">0.0</span><span class="number">.0</span><span class="number">.0</span></span><br></pre></td></tr></table></figure>
<ul>
<li>设置网络时间协议( NTP )到域名“welly”</li>
</ul>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#dhcp-option=40,welly</span></span><br></pre></td></tr></table></figure>
<h2 id="存活时间"><a href="#存活时间" class="headerlink" title="存活时间"></a>存活时间</h2><ul>
<li>设置预设存活时间( time-to-live )50</li>
</ul>
<figure class="highlight lsl"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-option=<span class="number">23</span>,<span class="number">50</span></span><br></pre></td></tr></table></figure>
<h2 id="标志类"><a href="#标志类" class="headerlink" title="标志类"></a>标志类</h2><ul>
<li>设置“all subnets are local”(所有子网为本地)标志</li>
</ul>
<figure class="highlight lsl"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-option=<span class="number">27</span>,<span class="number">1</span></span><br></pre></td></tr></table></figure>
<h2 id="标志-选项类"><a href="#标志-选项类" class="headerlink" title="标志+选项类"></a>标志+选项类</h2><ul>
<li>发送  etherboot magic 标志( flag )和etherboot 选项( 串 )</li>
</ul>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#dhcp-option=128,e4:45:74:68:00:00</span></span><br><span class="line"></span><br><span class="line"><span class="meta">#dhcp-option=129,NIC=eepro100</span></span><br></pre></td></tr></table></figure>
<ul>
<li>指定一个仅被发送给“red”网络的选项( 见 dhcp-range for the declaration of the “red” network )。注意<code>net:</code>部分在 <code>option:</code>部分前</li>
</ul>
<figure class="highlight x86asm"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-<span class="meta">option</span> = net:red, <span class="meta">option</span>:ntp-server, <span class="number">192.168</span><span class="meta">.1</span><span class="meta">.1</span></span><br></pre></td></tr></table></figure>
<h2 id="建立-dnsmasq"><a href="#建立-dnsmasq" class="headerlink" title="建立 dnsmasq"></a>建立 dnsmasq</h2><p>下边的建立 dnsmasq 的DHCP 选项与<code>http://www.samba.org/samba/ftp/docs/textdocs/DHCP-Server-Configuration.txt</code>中关于适用于一台的运行 dnsmasq 和 samba 服务的主机安装典型 dnsmasq 的<code>ISC dhcpcd</code>一样。当你使用Windows客户端和Samba，你可能需要取消一部分或者全部的注释</p>
<figure class="highlight lsl"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-option=<span class="number">19</span>,<span class="number">0</span> # option ip-forwarding off</span><br><span class="line"></span><br><span class="line">#dhcp-option=<span class="number">44</span>,<span class="number">0.0</span><span class="number">.0</span><span class="number">.0</span> # set netbios-over-TCP/IP nameserver(s) aka WINS server(s)</span><br><span class="line"></span><br><span class="line">#dhcp-option=<span class="number">45</span>,<span class="number">0.0</span><span class="number">.0</span><span class="number">.0</span> # netbios datagram distribution server</span><br><span class="line"></span><br><span class="line">#dhcp-option=<span class="number">46</span>,<span class="number">8</span> # netbios node type</span><br></pre></td></tr></table></figure>
<h2 id="域名查找"><a href="#域名查找" class="headerlink" title="域名查找"></a>域名查找</h2><h3 id="DNS-域名查找-DHCP"><a href="#DNS-域名查找-DHCP" class="headerlink" title="DNS 域名查找 DHCP"></a>DNS 域名查找 DHCP</h3><p>发送 RFC-3397 DNS 域名查找 DHCP 选项。注意：你的 DHCP 客户端可能不支持这个</p>
<figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-option=option:domain-search,eng<span class="selector-class">.apple</span><span class="selector-class">.com</span>,marketing<span class="selector-class">.apple</span><span class="selector-class">.com</span></span><br></pre></td></tr></table></figure>
<h2 id="静态路径"><a href="#静态路径" class="headerlink" title="静态路径"></a>静态路径</h2><h2 id="发送-RFC-3442-无分级-classless-静态路径-注意网络掩码的编码"><a href="#发送-RFC-3442-无分级-classless-静态路径-注意网络掩码的编码" class="headerlink" title="发送 RFC-3442 无分级( classless  )静态路径( 注意网络掩码的编码 )"></a>发送 RFC-3442 无分级( classless  )静态路径( 注意网络掩码的编码 )</h2><figure class="highlight lsl"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-option=<span class="number">121</span>,<span class="number">192.168</span><span class="number">.1</span><span class="number">.0</span>/<span class="number">24</span>,<span class="number">1.2</span><span class="number">.3</span><span class="number">.4</span>,<span class="number">10.0</span><span class="number">.0</span><span class="number">.0</span>/<span class="number">8</span>,<span class="number">5.6</span><span class="number">.7</span><span class="number">.8</span></span><br></pre></td></tr></table></figure>
<h2 id="提供商类特性选项"><a href="#提供商类特性选项" class="headerlink" title="提供商类特性选项"></a>提供商类特性选项</h2><ul>
<li>发送提供商类特性选项，这些特性封装在 DHCP option 43 。特性的含义由提供商类定义，所以这些选项只在客户端提供的提供商类匹配这里给出的类( 字串匹配是允许的，所以 “MSFT” 跟 “MSFT” 和 “MSFT 5.0” 匹配)。这个例子为 PXEClients 设置了 mtftp address 到0.0.0.0</li>
</ul>
<figure class="highlight x86asm"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-<span class="meta">option</span>=vendor:PXEClient,<span class="number">1</span>,<span class="number">0.0</span><span class="meta">.0</span><span class="meta">.0</span></span><br></pre></td></tr></table></figure>
<ul>
<li>当它关闭时，发送 microsoft-specific 选项告诉 Windows 释放 DHCP 租借。注意<br>“ i “标志，它告诉dnsmasq 发送 4-byte 整值，这正是 microsoft 想要的，见<code>http://technet2.microsoft.com/WindowsServer/en/library/a70f1bb7-d2d4-49f0-96d6-4b7414ecfaae1033.mspx?mfr=true</code></li>
</ul>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#dhcp-option=vendor:MSFT,2,1i</span></span><br></pre></td></tr></table></figure>
<ul>
<li>发送 Encapsulated-vendor-class ID，这个在 Etherboot  辨识 DHCP 伺服器时候被需求</li>
</ul>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#dhcp-option=vendor:Etherboot,60,”Etherboot”</span></span><br></pre></td></tr></table></figure>
<h2 id="PXELinux"><a href="#PXELinux" class="headerlink" title="PXELinux"></a>PXELinux</h2><h3 id="发送选项给-PXELinux"><a href="#发送选项给-PXELinux" class="headerlink" title="发送选项给 PXELinux"></a>发送选项给 PXELinux</h3><p>注意我们需要发送它们，尽管它们不出现在参数请求表 ( parameter request list )中,所以我们需要 <code>dhcp-option-force</code> ,见<code>http://syslinux.zytor.com/pxe.php#special</code> .Magic number — 在完成任何辨识之前是需要的</p>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#dhcp-option-force=208,f1:00:74:7e</span></span><br></pre></td></tr></table></figure>
<h3 id="配置文件名"><a href="#配置文件名" class="headerlink" title="配置文件名"></a>配置文件名</h3><figure class="highlight x86asm"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-<span class="meta">option</span>-force=<span class="number">209</span>,configs/<span class="meta">common</span></span><br></pre></td></tr></table></figure>
<h3 id="路径前缀-prefix"><a href="#路径前缀-prefix" class="headerlink" title="路径前缀( prefix )"></a>路径前缀( prefix )</h3><figure class="highlight gams"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-<span class="keyword">option</span>-force=<span class="number">210</span>,/tftpboot/pxelinux/<span class="keyword">files</span>/</span><br></pre></td></tr></table></figure>
<h3 id="重启时间-注意“-i-”发送-32-bit-值"><a href="#重启时间-注意“-i-”发送-32-bit-值" class="headerlink" title="重启时间( 注意“ i ”发送 32-bit 值 )"></a>重启时间( 注意“ i ”发送 32-bit 值 )</h3><figure class="highlight lsl"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-option-force=<span class="number">211</span>,<span class="number">30</span>i</span><br></pre></td></tr></table></figure>
<h3 id="为-netboot-PXE-设置-boot-文件名"><a href="#为-netboot-PXE-设置-boot-文件名" class="headerlink" title="为 netboot/PXE 设置 boot 文件名"></a>为 netboot/PXE 设置 boot 文件名</h3><p>你仅在通过网络启动机器时候用到它，并且你需要一个 TFTP 伺服器，无论  dnsmasq 建立在 TFTP 或者其他外部位置.( 见下：如何启用 TFTP 伺服器)</p>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#dhcp-boot=pxelinux.0</span></span><br></pre></td></tr></table></figure>
<h3 id="Boot-for-Etherboot-gPXE"><a href="#Boot-for-Etherboot-gPXE" class="headerlink" title="Boot for Etherboot gPXE."></a>Boot for Etherboot gPXE.</h3><p>想法是发送两个不同的文件名，第一个载入 gPXE , 第二个告诉 gPXE 需要读取的内容,  dhcp-match 为来自 gPXE 的请求设置 gpxe 标志</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span>dhcp-match=gpxe,175 # gPXE sends a 175 option.</span><br><span class="line"></span><br><span class="line"><span class="meta">#</span>dhcp-boot=net:#gpxe,undionly.kpxe</span><br><span class="line"></span><br><span class="line"><span class="meta">#</span>dhcp-boot=mybootimage</span><br></pre></td></tr></table></figure>
<h3 id="Encapsulated-options-for-Etherboot-gPXE"><a href="#Encapsulated-options-for-Etherboot-gPXE" class="headerlink" title="Encapsulated options for Etherboot gPXE."></a>Encapsulated options for Etherboot gPXE.</h3><p>所有选项包装在 option 175</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span>dhcp-option=encap:175, 1, 5b # priority code</span><br><span class="line"></span><br><span class="line"><span class="meta">#</span>dhcp-option=encap:175, 176, 1b # no-proxydhcp</span><br><span class="line"></span><br><span class="line"><span class="meta">#</span>dhcp-option=encap:175, 177, string # bus-id</span><br><span class="line"></span><br><span class="line"><span class="meta">#</span>dhcp-option=encap:175, 189, 1b # BIOS drive code</span><br><span class="line"></span><br><span class="line"><span class="meta">#</span>dhcp-option=encap:175, 190, user # iSCSI username</span><br><span class="line"></span><br><span class="line"><span class="meta">#</span>dhcp-option=encap:175, 191, pass # iSCSI password</span><br></pre></td></tr></table></figure>
<h3 id="Test-for-the-architecture-of-a-netboot-client-PXE-clients-如-option-93-发送它们的结构"><a href="#Test-for-the-architecture-of-a-netboot-client-PXE-clients-如-option-93-发送它们的结构" class="headerlink" title="Test for the architecture of a netboot client. PXE clients 如 option 93 发送它们的结构"></a>Test for the architecture of a netboot client. PXE clients 如 option 93 发送它们的结构</h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span>dhcp-match=peecees, option:client-arch, 0 #x86-32</span><br><span class="line"></span><br><span class="line"><span class="meta">#</span>dhcp-match=itanics, option:client-arch, 2 #IA64</span><br><span class="line"></span><br><span class="line"><span class="meta">#</span>dhcp-match=hammers, option:client-arch, 6 #x86-64</span><br><span class="line"></span><br><span class="line"><span class="meta">#</span>dhcp-match=mactels, option:client-arch, 7 #EFI x86-64</span><br></pre></td></tr></table></figure>
<h3 id="执行"><a href="#执行" class="headerlink" title="执行"></a>执行</h3><h4 id="执行真正的-PXE，不要仅启动单个文件"><a href="#执行真正的-PXE，不要仅启动单个文件" class="headerlink" title="执行真正的 PXE，不要仅启动单个文件,"></a>执行真正的 PXE，不要仅启动单个文件,</h4><ul>
<li>这是 dhcp-boot 的一个选择</li>
</ul>
<figure class="highlight maxima"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#pxe-<span class="built_in">prompt</span>=”What <span class="built_in">system</span> shall I netboot?”</span><br></pre></td></tr></table></figure>
<ul>
<li>或者在第一个可执行动作前加入超时( timeout )</li>
</ul>
<figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#pxe-prompt=”Press F8 <span class="keyword">for</span> <span class="selector-tag">menu</span>.”, <span class="number">60</span></span><br></pre></td></tr></table></figure>
<h4 id="Available-boot-services-for-PXE"><a href="#Available-boot-services-for-PXE" class="headerlink" title="Available boot services. for PXE."></a>Available boot services. for PXE.</h4><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span>pxe-service=x86PC, “Boot from local disk”, 0</span><br></pre></td></tr></table></figure>
<h3 id="装载"><a href="#装载" class="headerlink" title="装载"></a>装载</h3><ul>
<li>从 dnsmasq TFTP server 装载  /pxelinux.</li>
</ul>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#pxe-service=x86PC, “Install Linux”, pxelinux</span></span><br></pre></td></tr></table></figure>
<ul>
<li>从 dnsmasq TFTP server (at 1.2.3.4)装载  /pxelinux.注意这在老式 PXE ROMS 无效</li>
</ul>
<figure class="highlight lsl"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#pxe-service=x86PC, “Install Linux”, pxelinux, <span class="number">1.2</span><span class="number">.3</span><span class="number">.4</span></span><br></pre></td></tr></table></figure>
<h2 id="bootserver"><a href="#bootserver" class="headerlink" title="bootserver"></a>bootserver</h2><ul>
<li>在网络上使用 bootserver 发现我的多路广播( multicast )和广播(  broadcast )</li>
</ul>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#pxe-service=x86PC, “Install windows from RIS server”, 1</span></span><br></pre></td></tr></table></figure>
<ul>
<li>在一个已知 IP 地址使用 bootserver</li>
</ul>
<figure class="highlight lsl"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#pxe-service=x86PC, “Install windows from RIS server”, <span class="number">1</span>, <span class="number">1.2</span><span class="number">.3</span><span class="number">.4</span></span><br></pre></td></tr></table></figure>
<h2 id="TFTP"><a href="#TFTP" class="headerlink" title="TFTP"></a>TFTP</h2><p>如果你有一个可用的 multicast-FTP, 对它的信息可以以相似的方式上传送—使用 options 1 到 5，见 <code>http://download.intel.com/design/archives/wfm/downloads/pxespec.pdf</code> 第19页. </p>
<h3 id="启用-dnsmasq’s-built-in-TFTP-server"><a href="#启用-dnsmasq’s-built-in-TFTP-server" class="headerlink" title="启用 dnsmasq’s built-in TFTP server"></a>启用 dnsmasq’s built-in TFTP server</h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span>enable-tftp  //1</span><br></pre></td></tr></table></figure>
<h3 id="设置-FTP-文件-root-directory"><a href="#设置-FTP-文件-root-directory" class="headerlink" title="设置 FTP  文件 root directory"></a>设置 FTP  文件 root directory</h3><figure class="highlight lasso"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#tftp<span class="params">-root</span>=/<span class="built_in">var</span>/ftpd <span class="comment">//1</span></span><br></pre></td></tr></table></figure>
<h3 id="使-TFTP-伺服器更加安全"><a href="#使-TFTP-伺服器更加安全" class="headerlink" title="使 TFTP 伺服器更加安全"></a>使 TFTP 伺服器更加安全</h3><p>使用这个：只有 user dnsmasq 拥有的文件可以通过网络运行和发送到</p>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#tftp-secure //1</span></span><br></pre></td></tr></table></figure>
<h3 id="只有“red”标志被设定的时候设置-boot-文件名"><a href="#只有“red”标志被设定的时候设置-boot-文件名" class="headerlink" title="只有“red”标志被设定的时候设置 boot 文件名"></a>只有“red”标志被设定的时候设置 boot 文件名</h3><figure class="highlight stata"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-<span class="keyword">boot</span>=<span class="keyword">net</span>:red,pxelinux.red-<span class="keyword">net</span></span><br></pre></td></tr></table></figure>
<h3 id="例子"><a href="#例子" class="headerlink" title="例子"></a>例子</h3><p>包含  dhcp-boot ，外部 TFTP 伺服器( 名和 IP 地址在文件名字段后给出 ). 可能在老旧的  PXE ROMS 上失效. 被–pxe-service 覆盖( Overridden )</p>
<figure class="highlight lsl"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp-boot=/var/ftpd/pxelinux<span class="number">.0</span>,boothost,<span class="number">192.168</span><span class="number">.0</span><span class="number">.3</span></span><br></pre></td></tr></table></figure>
<h2 id="服务器"><a href="#服务器" class="headerlink" title="服务器"></a>服务器</h2><h3 id="租借"><a href="#租借" class="headerlink" title="租借"></a>租借</h3><h4 id="租借限制"><a href="#租借限制" class="headerlink" title="租借限制"></a>租借限制</h4><p>设置 DHCP 租借限制, 预设是150</p>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#dhcp-lease-max=150</span></span><br></pre></td></tr></table></figure>
<h3 id="磁盘"><a href="#磁盘" class="headerlink" title="磁盘"></a>磁盘</h3><h4 id="数据库占用"><a href="#数据库占用" class="headerlink" title="数据库占用"></a>数据库占用</h4><p>DHCP 服务器需要一定的磁盘空间保存数据库. 默认全路径, 改变它使用如下一行</p>
<figure class="highlight lasso"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#dhcp<span class="params">-leasefile</span>=/<span class="built_in">var</span>/lib/dnsmasq/dnsmasq.leases</span><br></pre></td></tr></table></figure>
<h3 id="authoritative-模式"><a href="#authoritative-模式" class="headerlink" title="authoritative 模式"></a>authoritative 模式</h3><p>设置DHCP 伺服器到 authoritative 模式.<br>在这个模式它将会干涉和接管在网络上广播的客户端的租约, 无论这个客户端有没有租约记录. 当一个机器在一个新的网络上被唤醒时，这个模式避免了长时间的超时. 不要启用这个如果你几乎不会遇到当你为校园/公司设定 DHCP 服务器时发生意外中止的情况.  ISC server 使用同样的 option, 见这个链接:<code>http://www.isc.org/index.pl?/sw/dhcp/authoritative.php</code></p>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#dhcp-authoritative</span></span><br></pre></td></tr></table></figure>
<h3 id="创建或者销毁"><a href="#创建或者销毁" class="headerlink" title="创建或者销毁"></a>创建或者销毁</h3><p>当一个DHCP 租借创建或者销毁时运行一个 executable . 这个发送到脚本( script )的声明是”add” 或者”del” .当只有一个时,之后加上 mac 地址，IP 地址，主机名</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span>dhcp-script=/bin/echo</span><br></pre></td></tr></table></figure>
<h3 id="缓存"><a href="#缓存" class="headerlink" title="缓存"></a>缓存</h3><h4 id="设置缓存大小"><a href="#设置缓存大小" class="headerlink" title="设置缓存大小"></a>设置缓存大小</h4><figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#cache-size=150</span></span><br></pre></td></tr></table></figure>
<p><span id="return_from_negative_caching"></span></p>
<h4 id="关闭-negative-caching"><a href="#关闭-negative-caching" class="headerlink" title="关闭 negative caching"></a>关闭 <a href="#negative_caching">negative caching</a></h4><p>取消这个注释</p>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#no-negcache</span></span><br></pre></td></tr></table></figure>
<h4 id="存活时间-1"><a href="#存活时间-1" class="headerlink" title="存活时间"></a>存活时间</h4><p>一般地, 来源于 <code>/etc/hosts</code> 和 <code>DHCP lease file</code> 有一个0的存活时间设定，习惯上约定不要进行进一步缓存( cache further ),如果你想要在服务器上低负载地为可能过期的数据进行交换, 设置一个存活时间( Time-To-Live )</p>
<figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span>local-ttl=</span><br></pre></td></tr></table></figure>
<h2 id="如果你想要-dnsmasq-去检测依据电子签名-Verisign-的尝试从而发送未注册的-com-和-net-主机到它的网站发现服务然后让-dnsmasq-替代性地返回正确的-NXDOMAIN-回答-respond-取消这一行的注释-你可以添加类似的-多-行为其他的注册-使用通配符-A-记录-执行同一效果"><a href="#如果你想要-dnsmasq-去检测依据电子签名-Verisign-的尝试从而发送未注册的-com-和-net-主机到它的网站发现服务然后让-dnsmasq-替代性地返回正确的-NXDOMAIN-回答-respond-取消这一行的注释-你可以添加类似的-多-行为其他的注册-使用通配符-A-记录-执行同一效果" class="headerlink" title="如果你想要 dnsmasq 去检测依据电子签名( Verisign )的尝试从而发送未注册的 .com 和 .net 主机到它的网站发现服务然后让 dnsmasq 替代性地返回正确的 NXDOMAIN 回答( respond ), 取消这一行的注释. 你可以添加类似的(多)行为其他的注册( 使用通配符 A 记录 )执行同一效果"></a>如果你想要 dnsmasq 去检测依据电子签名( Verisign )的尝试从而发送未注册的 .com 和 .net 主机到它的网站发现服务然后让 dnsmasq 替代性地返回正确的 NXDOMAIN 回答( respond ), 取消这一行的注释. 你可以添加类似的(多)行为其他的注册( 使用通配符 A 记录 )执行同一效果</h2><figure class="highlight lsl"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#bogus-nxdomain=<span class="number">64.94</span><span class="number">.110</span><span class="number">.11</span></span><br></pre></td></tr></table></figure>
<h2 id="修改DNS结果"><a href="#修改DNS结果" class="headerlink" title="修改DNS结果"></a>修改DNS结果</h2><p>如果你想修改从上游 DNS 服务器传递过来的 DNS 结果，使用别名( alias ) 选项. 这只在 IPv4 上工作. </p>
<ul>
<li>这个别名让结果为 1.2.3.4 显示为 5.6.7.8</li>
</ul>
<figure class="highlight lsl"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#alias=<span class="number">1.2</span><span class="number">.3</span><span class="number">.4</span>,<span class="number">5.6</span><span class="number">.7</span><span class="number">.8</span></span><br></pre></td></tr></table></figure>
<ul>
<li>这个映射 1.2.3.x 到 5.6.7.x</li>
</ul>
<figure class="highlight lsl"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#alias=<span class="number">1.2</span><span class="number">.3</span><span class="number">.0</span>,<span class="number">5.6</span><span class="number">.7</span><span class="number">.0</span>,<span class="number">255.255</span><span class="number">.255</span><span class="number">.0</span></span><br></pre></td></tr></table></figure>
<ul>
<li>这个映射范围 192.168.0.10-&gt;192.168.0.40 到 10.0.0.10-&gt;10.0.0.40</li>
</ul>
<figure class="highlight lsl"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#alias=<span class="number">192.168</span><span class="number">.0</span><span class="number">.10</span><span class="number">-192.168</span><span class="number">.0</span><span class="number">.40</span>,<span class="number">10.0</span><span class="number">.0</span><span class="number">.0</span>,<span class="number">255.255</span><span class="number">.255</span><span class="number">.0</span></span><br></pre></td></tr></table></figure>
<h2 id="MX-记录"><a href="#MX-记录" class="headerlink" title="MX 记录"></a>MX 记录</h2><p>改变这一行，如果你想要 dmsmasq 服务 MX 记录. 返回一个 MX 记录:名<code>maildomain.com</code> 目标( target )<code>servermachine.com</code>权重( preference )<code>50</code>.</p>
<figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#mx-host=maildomain<span class="selector-class">.com</span>,servermachine<span class="selector-class">.com</span>,<span class="number">50</span></span><br></pre></td></tr></table></figure>
<h3 id="使用-localmx-option-为创建的-MX-记录设置默认目标"><a href="#使用-localmx-option-为创建的-MX-记录设置默认目标" class="headerlink" title="使用 localmx option 为创建的 MX 记录设置默认目标"></a>使用 localmx option 为创建的 MX 记录设置默认目标</h3><figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#mx-target=servermachine.com</span></span><br></pre></td></tr></table></figure>
<h3 id="为所有本地机器返回一个指向-mx-target-的-MX-记录"><a href="#为所有本地机器返回一个指向-mx-target-的-MX-记录" class="headerlink" title="为所有本地机器返回一个指向 mx-target 的 MX 记录"></a>为所有本地机器返回一个指向 mx-target 的 MX 记录</h3><figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#localmx  //1</span></span><br></pre></td></tr></table></figure>
<h3 id="为所有本地机器返回一个指向它们自己的-MX-记录"><a href="#为所有本地机器返回一个指向它们自己的-MX-记录" class="headerlink" title="为所有本地机器返回一个指向它们自己的 MX 记录"></a>为所有本地机器返回一个指向它们自己的 MX 记录</h3><figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#selfmx  //1</span></span><br></pre></td></tr></table></figure>
<h2 id="SRV-记录"><a href="#SRV-记录" class="headerlink" title="SRV 记录"></a>SRV 记录</h2><p>改变下边的(多)行如果你想 dnsmasq 去服务 SRV 记录. 这在你想要服务请求活动目录的 idap 请求和其他 windows-originated DNS 请求时是十分有用的.见<code>RFC 2782</code>. 你可能会添加多条 <code>srv-host</code> 行, 域(field )是,,,,. 如果一个域没有名( 仅有服务和协议部分)，<code>domain=</code> —config option给出, 将被使用. 注意这个服务不需要 expand-hosts 的设定; </p>
<ul>
<li>一个 SRV 记录发送 目的 example.com 域的 LDAP 到ldapserver.example.com 端口389 (port) </li>
</ul>
<figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#srv-host=_ldap._tcp<span class="selector-class">.example</span><span class="selector-class">.com</span>,ldapserver<span class="selector-class">.example</span><span class="selector-class">.com</span>,<span class="number">389</span></span><br></pre></td></tr></table></figure>
<ul>
<li>一个 SRV 记录发送 目的 example.com 域的 LDAP 到ldapserver.example.com 端口289 (port)(使用 domain= )</li>
</ul>
<figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">#domain=example.com</span><br><span class="line">#srv-host=_ldap._tcp,ldapserver<span class="selector-class">.example</span><span class="selector-class">.com</span>,<span class="number">389</span></span><br></pre></td></tr></table></figure>
<ul>
<li>两个 LDAP 的 SRV 记录, 每个有不同的优先级</li>
</ul>
<figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">srv-host=_ldap._tcp<span class="selector-class">.example</span><span class="selector-class">.com</span>,ldapserver<span class="selector-class">.example</span><span class="selector-class">.com</span>,<span class="number">389</span>,<span class="number">1</span></span><br><span class="line"></span><br><span class="line">#srv-host=_ldap._tcp<span class="selector-class">.example</span><span class="selector-class">.com</span>,ldapserver<span class="selector-class">.example</span><span class="selector-class">.com</span>,<span class="number">389</span>,<span class="number">2</span></span><br></pre></td></tr></table></figure>
<ul>
<li>一个 SRV 记录 表明没有域 example.com 的 LDAP 服务器</li>
</ul>
<figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#srv-host=_ldap._tcp<span class="selector-class">.example</span><span class="selector-class">.com</span></span><br></pre></td></tr></table></figure>
<h2 id="PTR-记录"><a href="#PTR-记录" class="headerlink" title="PTR 记录"></a>PTR 记录</h2><p>下边的多行表示如何让 dnsmasq 服务一个任意的( arbitrary  ) PTR 记录. 这对 DNS-SD 十分有用. 注意: 为 SRV 记录执行的 domain-name 扩展( expasion ) 不发生在 PTR 记录</p>
<figure class="highlight ada"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">#ptr-<span class="keyword">record</span>=_http._tcp.dns-sd-services,”<span class="keyword">New</span> Employee Page._http._tcp.dns-sd-services”</span><br></pre></td></tr></table></figure>
<h2 id="TXT-记录"><a href="#TXT-记录" class="headerlink" title="TXT 记录"></a>TXT 记录</h2><p>修改下边的多行以使 dnsmasq 服务 TXT 记录. 这在诸如 SPF 和 zeroconf 时使用. 注意： 为 SRV 记录执行的 domain-name 扩展( expasion ) 不发生在 TXT 记录</p>
<figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="selector-id">#Example</span> SPF.</span><br><span class="line"></span><br><span class="line">#txt-record=example<span class="selector-class">.com</span>,”v=spf1 <span class="selector-tag">a</span> -all”</span><br><span class="line"></span><br><span class="line"><span class="selector-id">#Example</span> zeroconf</span><br><span class="line"></span><br><span class="line">#txt-record=_http._tcp<span class="selector-class">.example</span><span class="selector-class">.com</span>,name=value,paper=A4</span><br></pre></td></tr></table></figure>
<h2 id="别名-alias"><a href="#别名-alias" class="headerlink" title="别名 alias"></a>别名 alias</h2><p>为一个 “local” DNS 名提供别名( alias ). 注意：这只为那些名来源于<code>DHCP</code> 和 <code>/etc/hosts</code> 的目标工作. 给主机 “ bert ” 其他的名,bertrand</p>
<figure class="highlight vala"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#cname=bertand,bert</span></span><br></pre></td></tr></table></figure>
<hr>
<h2 id="日志-log"><a href="#日志-log" class="headerlink" title="日志 log"></a>日志 log</h2><h3 id="想要-debugging-通过-dnsmasq-为每个-DNS-查询保存日志-log"><a href="#想要-debugging-通过-dnsmasq-为每个-DNS-查询保存日志-log" class="headerlink" title="想要 debugging, 通过 dnsmasq 为每个 DNS 查询保存日志( log )"></a>想要 debugging, 通过 dnsmasq 为每个 DNS 查询保存日志( log )</h3><figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="selector-id">#log-queries</span>  <span class="comment">//1</span></span><br></pre></td></tr></table></figure>
<h3 id="为-DHCP-交换的额外信息保存日志"><a href="#为-DHCP-交换的额外信息保存日志" class="headerlink" title="为 DHCP 交换的额外信息保存日志"></a>为 DHCP 交换的额外信息保存日志</h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">#</span>log-dhcp  //1</span><br></pre></td></tr></table></figure>
<h1 id="包括其他多项的设置选项-configuration-options"><a href="#包括其他多项的设置选项-configuration-options" class="headerlink" title="包括其他多项的设置选项( configuration options)"></a>包括其他多项的设置选项( configuration options)</h1><figure class="highlight stata"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">#<span class="keyword">conf</span>-<span class="keyword">file</span>=/etc/dnsmasq.<span class="keyword">more</span>.<span class="keyword">conf</span></span><br><span class="line"></span><br><span class="line">#<span class="keyword">conf</span>-<span class="keyword">dir</span>=/etc/dnsmasq.<span class="built_in">d</span></span><br></pre></td></tr></table></figure>
<hr>
<h1 id="其他注释"><a href="#其他注释" class="headerlink" title="其他注释 (  )"></a>其他注释 (  )</h1><p><span id="DNSmasq"><span></span></span></p>
<h2 id="DNSmasq"><a href="#DNSmasq" class="headerlink" title="DNSmasq"></a>DNSmasq</h2><h3 id="定义"><a href="#定义" class="headerlink" title="定义"></a>定义</h3><p>DNSmasq 是一个小巧且方便地用于配置 DNS 和 DHCP 的工具</p>
<h3 id="简介"><a href="#简介" class="headerlink" title="简介"></a>简介</h3><p>它提供了 DNS 功能和可选择的 DHCP 功能。它服务那些只在本地适用的域名，这些域名是不会在全球的 DNS 服务器中出现的。DHCP 服务器和 DNS 服务器结合，并且允许 DHCP 分配的地址能在 DNS 中正常解析，而这些 DHCP 分配的地址和相关命令可以配置到每台主机中，也可以配置到一台核心设备中（比如路由器），DNSmasq 支持静态和动态两种 DHCP 配置方式。    </p>
<p><a href="#return_from_DNSmasq">返回</a></p>
<p><span id="SRV_record"></span></p>
<h2 id="SRV记录"><a href="#SRV记录" class="headerlink" title="SRV记录:"></a>SRV记录:</h2><h3 id="定义-："><a href="#定义-：" class="headerlink" title="定义 ："></a>定义 ：</h3><p>DNS 服务器的数据库中支持的一种资源记录的类型，它记录了哪台计算机提供了哪个服务这么一个简单的信息。一般是为 Microsoft 的活动目录设置时的应用。</p>
<h3 id="简介："><a href="#简介：" class="headerlink" title="简介："></a>简介：</h3><p>DNS 可以独立于活动目录，但是活动目录必须有 DNS 的帮助才能工作。为了活动目录能够正常的工作，DNS 服务器必须支持服务定位（SRV）资源记录，资源记录把服务名字映射为提供服务的服务器名字。活动目录客户和域控制器使用 SRV 资源记录决定域控制器的 IP 地址。</p>
<h3 id="SRV-记录功能包括（基于它们在-DNS-控制台的分组）"><a href="#SRV-记录功能包括（基于它们在-DNS-控制台的分组）" class="headerlink" title="SRV 记录功能包括（基于它们在 DNS 控制台的分组）"></a>SRV 记录功能包括（基于它们在 DNS 控制台的分组）</h3><p> 1.‘　_MSDCS。这个分组中，SRV 记录是根据它们的状态来收集的。各种状态包括 DC、域调用、GC 以及 PDC。DC 和 GC 按站点来划分，这样一来，AD 客户端就能快速的知道去哪里寻找本地服务。“域调用” 用于支持复制。每个 DC 都获得了一个 GUID，它会在调用复制时用到。PDC 条目包含了被设定为 PDC 模拟器的 DC 的 SRV 记录。<br> 2.‘ _SITES。站点代表的是一个高速连接区域，根据 DC 的站点从属关系来建立了 DC 索引之后，客户端就可以检查_SITES 来寻找本地服务，而不必通过 WAN 来发送它们的 LDAP 查询请求。标准 LDAP 查询端口是 389，全局编录查询则使用 3268。<br> 3.‘　_TCP。在这个分组中，收集了 DNS 区域中的所有 DC。如果客户端找不到它们特定的站点，或者具有本地 SRV 记录的任何 DC 都没有响应，需要寻找网络中其他地方的 DC，就应该将这些客户端放到这个分组中。<br> 4.‘　_UDP。Keberos v5 允许客户端使用 “无连接” 服务来获取票证并更改密码。这是通过与相同服务的 TCP 端口对应的 UDP 端口来完成的。具体说，票证交换使用 UDP 的 88 端口，而密码更改使用 464。<br><a href="#return_from_SRV_record">返回</a></p>
<hr>
<p><span id="Kerberos"><span></span></span></p>
<h2 id="Kerberos："><a href="#Kerberos：" class="headerlink" title="Kerberos："></a>Kerberos：</h2><h3 id="简介-1"><a href="#简介-1" class="headerlink" title="简介"></a>简介</h3><p>一种网络认证协议，其设计目标是通过密钥系统为客户机 / 服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证，无需基于主机地址的信任，不要求网络上所有主机的物理安全，并假定网络上传送的数据包可以被任意地读取、修改和插入数据。在以上情况下， Kerberos 作为一种可信任的第三方认证服务，是通过传统的密码技术（如：共享密钥）执行认证服务的。</p>
<h3 id="认证过程"><a href="#认证过程" class="headerlink" title="认证过程"></a>认证过程</h3><p>具体如下：客户机向认证服务器（AS）发送请求，要求得到某服务器的证书，然后 AS 的响应包含这些用客户端密钥加密的证书。证书的构成为： 1) 服务器 “ticket” ； 2) 一个临时加密密钥（又称为会话密钥 “session key”） 。客户机将 ticket （包括用服务器密钥加密的客户机身份和一份会话密钥的拷贝）传送到服务器上。会话密钥可以（现已经由客户机和服务器共享）用来认证客户机或认证服务器，也可用来为通信双方以后的通讯提供加密服务，或通过交换独立子会话密钥为通信双方提供进一步的通信加密服务。</p>
<p>上述认证交换过程需要只读方式访问 Kerberos 数据库。但有时，数据库中的记录必须进行修改，如添加新的规则或改变规则密钥时。修改过程通过客户机和第三方 Kerberos 服务器（Kerberos 管理器 KADM）间的协议完成。有关管理协议在此不作介绍。另外也有一种协议用于维护多份 Kerberos 数据库的拷贝，这可以认为是执行过程中的细节问题，并且会不断改变以适应各种不同数据库技术。</p>
<p>Kerberos 又指麻省理工学院为这个协议开发的一套计算机网络安全系统。系统设计上采用客户端 / 服务器结构与 DES 加密技术，并且能够进行相互认证，即客户端和服务器端均可对对方进行身份认证。可以用于防止窃听、防止 replay 攻击、保护数据完整性等场合，是一种应用对称密钥体制进行密钥管理的系统。Kerberos 的扩展产品也使用公开密钥加密方法进行认证。<br><a href="#return_from_Kerberos">返回</a></p>
<hr>
<p><span id="SIP"></span></p>
<h2 id="SIP"><a href="#SIP" class="headerlink" title="SIP"></a>SIP</h2><h3 id="SIP-（会话发起协议）"><a href="#SIP-（会话发起协议）" class="headerlink" title="SIP （会话发起协议）"></a>SIP （会话发起协议）</h3><p>SIP(Session Initiation Protocol) 是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。这些会话可以是 Internet 多媒体会议 、IP 电话或多媒体分发。会话的参与者可以通过组播（multicast）、网状单播（unicast）或两者的混合体进行通信。</p>
<p>SIP 与负责语音质量的资源预留协议 (RSVP) 互操作。它还与若干个其他协议进行协作，包括负责定位的轻型目录访问协议 (LDAP)、负责身份验证的远程身份验证拨入用户服务 (RADIUS) 以及负责实时传输的 RTP 等多个协议。</p>
<h3 id="压缩机制"><a href="#压缩机制" class="headerlink" title="压缩机制"></a>压缩机制</h3><p>SIP 压缩机制主要是通过改变 SIP 消息的长度来降低时延。典型的 SIP 消息的大小由几百到几千字节，为了适合在窄带无线信道上传输，IMS 对 SIP 进行了扩展，支持 SIP 消息的压缩。当无线信道一定时， 一条 SIP 消息所含帧数 k 仅取决于消息大小。从时延模型可以看出，不仅影响 SIP 消息传输时延， 还影响 SIP 重传的概率， 对自适应的定时器来说，k 还成了影响定时器初值的关键因素。</p>
<h3 id="应用"><a href="#应用" class="headerlink" title="应用"></a>应用</h3><p>google 发布世界上首个开源的 Html5 sip 客户端<br>HTML5 SIP 客户端是一款开源的，完全利用 JavaScript 编写的集社交 (FaceBook，Twitter，Google+)，在线游戏，电子商务等应用于一体。无扩展，无插件或是必备的网关，视频堆栈技术依赖于 WebRTC。如同主页里的 Demo 视频演示，你可以轻松实现 Chrome 和 IOS/Android 移动设备之间的实时视频 / 音频通话。<br>该客户端是一项在浏览器中可被用来连接任意 SIP 或者 IMS 网络进行拨打和接收音频 / 视频通话及即时信息技术。该协议解析器 (SIP，SDP…) 通过使用 Ragel 查找表进行了高度优化，很适合硬件（内存和运算能力）受限的嵌入式系统使用。</p>
<p><a href="#return_from_SIP">返回</a></p>
<hr>
<p><span id="XMPP"></span></p>
<h2 id="XMPP-可扩展通讯和表示协议"><a href="#XMPP-可扩展通讯和表示协议" class="headerlink" title="XMPP( 可扩展通讯和表示协议 )"></a>XMPP( 可扩展通讯和表示协议 )</h2><p>简介:<br>可扩展通讯和表示协议 (XMPP) 可用于服务类实时通讯、表示和需求响应服务中的 XML 数据元流式传输。XMPP 以 Jabber 协议为基础，而 Jabber 是即时通讯中常用的开放式协议。XMPP is the IETF’s formalization of the base XML streaming protocols for instant messaging and presence developed within the Jabber open-source community in 1999<br>XMPP（可扩展消息处理现场协议）是基于可扩展标记语言（XML）的协议，它用于即时消息（IM）以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息，即使其操作系统和浏览器不同。<br>XMPP 的前身是 Jabber，一个开源形式组织产生的网络即时通信协议。XMPP 目前被 IETF 国际标准组织完成了标准化工作。标准化的核心结果分为两部分；</p>
<ul>
<li><p>核心的 XML 流传输协议</p>
</li>
<li><p>基于 XMLFreeEIM 流传输的即时通讯扩展应用</p>
</li>
</ul>
<p>XMPP 的核心 XML 流传输协议的定义使得 XMPP 能够在一个比以往网络通信协议更规范的平台上。借助于 XML 易于解析和阅读的特性，使得 XMPP 的协议能够非常漂亮。<br>XMPP 的即时通讯扩展应用部分是根据 IETF 在这之前对即时通讯的一个抽象定义的，与其他业已得到广泛使用的即时通讯协议，诸如 AIM，QQ 等有功能完整，完善等先进性。<br>XMPP 的扩展协议 Jingle 使得其支持语音和视频。<br>XMPP 的官方文档是 RFC 3920.<br><a href="#return_from_XMPP">返回</a></p>
<hr>
<p><span id="Google-talk"></span></p>
<h2 id="Google-talk"><a href="#Google-talk" class="headerlink" title="Google-talk"></a>Google-talk</h2><h3 id="简介-2"><a href="#简介-2" class="headerlink" title="简介"></a>简介</h3><p>Google Talk 是 Google 的 IM 工具，除了具有 IM 功能外，另外还加上了 Voip 功能，界面清新大方，可直接链接 Gmail，接受查看邮件。</p>
<h3 id="功能"><a href="#功能" class="headerlink" title="功能"></a>功能</h3><p>Google Talk 的一个优势是，它能够与其它即时通讯软件服务进行连接。由于 Google Talk 是基于 Jabber 开源标准，这种标准允许用户和其它的即时讯息系统相连，比如苹果电脑的 iChat，GAIM，Trillian Pro 以及 Psi。Google Talk 只能够在 Windows 平台上运行。如果要进行语音通话，用户需要配备麦克风与音箱。</p>
<p>Google Talk 的用户无法使用这种软件与 AIM，MSN Messenger 或者雅虎 Messenger 的用户进行互通。</p>
<p>在使用了 Google Talk 之后，Sullivan 对这种软件的声音质量给了高分，但是，Google Talk 缺乏视频聊天功能，另外， Google Talk 还缺乏目录索引以及聊天文本的搜索功能。</p>
<p><a href="#return_from_Google-talk">返回</a></p>
<hr>
<p><span id="ISC"></span></p>
<h2 id="ISC"><a href="#ISC" class="headerlink" title="ISC"></a>ISC</h2><h3 id="简介-3"><a href="#简介-3" class="headerlink" title="简介"></a>简介</h3><p>ISC 服务器控制。是 Intel 的服务器管理软件。只适用于使用 Intel 架构的带有集成管理功能主板的服务器。采用这种技术后，用户在一台普通的客户机上，就可以监测网络上所有使用 Intel 主板的服务器，监控和判断服务器的工作状态是否正常。一旦服务器内部硬件传感器进行实时监控或第三方硬件中的任何一项出现错误，就会报警提示管理人员。并且，监测端和服务器端之间的网络可以是局域网也可以是广域网，可直接通过网络对服务器进行启动、关闭或重新置位，极大地方便了管理和维护工作。</p>
<p><a href="#return_from_ISC">返回</a></p>
<hr>
<h1 id="negative-caching"><a href="#negative-caching" class="headerlink" title="negative_caching"></a>negative_caching<span id="negative_caching"></span></h1><h2 id="定义-1"><a href="#定义-1" class="headerlink" title="定义"></a>定义</h2><p>避免重复失败的 DNS 解析请求</p>
<h2 id="原理"><a href="#原理" class="headerlink" title="原理"></a>原理</h2><p>当客户端尝试通过 DNS 解析某个域名但解析失败后，客户端依然会在自己的缓存中记录相关的信息，但这里记录的并非解析结果，而是”Negative caching”。这样当客户端尝试再次访问不存在的域名时，因为本地的 DNS 缓存中已经有了相关的 Negative caching 记录，因此客户端不会频繁尝试通过 DNS 进行解析. 比较恰当的翻译是消极缓存或者未果缓冲.</p>
<p><a href="#return_from_negative_caching">返回</a></p>
<hr>

      
    </div>
    
    
    

    

    

    

    <footer class="post-footer">
      
        <div class="post-tags">
          
            <a href="/tags/DNS/" rel="tag"># DNS</a>
          
            <a href="/tags/dnsmasq/" rel="tag"># dnsmasq</a>
          
        </div>
      

      
      
      

      
        <div class="post-nav">
          <div class="post-nav-next post-nav-item">
            
              <a href="/2017/04/28/dnsmasq-conf(英文原版)/" rel="next" title="dnsmasq-conf(英文原版)">
                <i class="fa fa-chevron-left"></i> dnsmasq-conf(英文原版)
              </a>
            
          </div>

          <span class="post-nav-divider"></span>

          <div class="post-nav-prev post-nav-item">
            
              <a href="/2017/04/29/Github上开源的各类书籍/" rel="prev" title="GitHub上开源的各类书籍">
                GitHub上开源的各类书籍 <i class="fa fa-chevron-right"></i>
              </a>
            
          </div>
        </div>
      

      
      
    </footer>
  </div>
  
  
  
  </article>



    <div class="post-spread">
      
    </div>
  </div>


          </div>
          


          

  



        </div>
        
          
  
  <div class="sidebar-toggle">
    <div class="sidebar-toggle-line-wrap">
      <span class="sidebar-toggle-line sidebar-toggle-line-first"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-middle"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-last"></span>
    </div>
  </div>

  <aside id="sidebar" class="sidebar">
    
    <div class="sidebar-inner">

      

      
        <ul class="sidebar-nav motion-element">
          <li class="sidebar-nav-toc sidebar-nav-active" data-target="post-toc-wrap">
            文章目录
          </li>
          <li class="sidebar-nav-overview" data-target="site-overview-wrap">
            站点概览
          </li>
        </ul>
      

      <section class="site-overview-wrap sidebar-panel">
        <div class="site-overview">
          <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
            
              <img class="site-author-image" itemprop="image"
                src="/uploads/avatar.jpg"
                alt="pancc" />
            
              <p class="site-author-name" itemprop="name">pancc</p>
              <p class="site-description motion-element" itemprop="description"></p>
          </div>

          <nav class="site-state motion-element">

            
              <div class="site-state-item site-state-posts">
              
                <a href="/archives/">
              
                  <span class="site-state-item-count">28</span>
                  <span class="site-state-item-name">日志</span>
                </a>
              </div>
            

            
              
              
              <div class="site-state-item site-state-categories">
                <a href="/categories/index.html">
                  <span class="site-state-item-count">28</span>
                  <span class="site-state-item-name">分类</span>
                </a>
              </div>
            

            
              
              
              <div class="site-state-item site-state-tags">
                <a href="/tags/index.html">
                  <span class="site-state-item-count">26</span>
                  <span class="site-state-item-name">标签</span>
                </a>
              </div>
            

          </nav>

          

          <div class="links-of-author motion-element">
            
          </div>

          
          

          
          

          

        </div>
      </section>

      
      <!--noindex-->
        <section class="post-toc-wrap motion-element sidebar-panel sidebar-panel-active">
          <div class="post-toc">

            
              
            

            
              <div class="post-toc-content"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link" href="#前言"><span class="nav-number">1.</span> <span class="nav-text">前言</span></a></li><li class="nav-item nav-level-1"><a class="nav-link" href="#DNS"><span class="nav-number">2.</span> <span class="nav-text">DNS</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#基础转发规则"><span class="nav-number">2.1.</span> <span class="nav-text">基础转发规则</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#从不转发那些不存在的名-没有点或者域部分"><span class="nav-number">2.1.1.</span> <span class="nav-text">从不转发那些不存在的名( 没有点或者域部分 )</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#从不为存在于那些非路由（non-routed-）地址的空间转发地址"><span class="nav-number">2.1.2.</span> <span class="nav-text">从不为存在于那些非路由（non-routed ）地址的空间转发地址</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#过滤无用的来源为Windows的DNS请求"><span class="nav-number">2.1.3.</span> <span class="nav-text">过滤无用的来源为Windows的DNS请求</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#上游服务器相关"><span class="nav-number">2.2.</span> <span class="nav-text">上游服务器相关</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#从上游服务器中获取-dns"><span class="nav-number">2.2.1.</span> <span class="nav-text">从上游服务器中获取 dns</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#强制上游-DNS-寻找顺序"><span class="nav-number">2.2.2.</span> <span class="nav-text">强制上游 DNS 寻找顺序</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#不读取conf-或其他文件"><span class="nav-number">2.2.3.</span> <span class="nav-text">不读取conf 或其他文件</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#不查找conf，resolv文件"><span class="nav-number">2.2.4.</span> <span class="nav-text">不查找conf，resolv文件</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#其他域名服务器"><span class="nav-number">2.2.5.</span> <span class="nav-text">其他域名服务器</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#请求转发类型"><span class="nav-number">2.3.</span> <span class="nav-text">请求转发类型</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#路由器选择"><span class="nav-number">2.3.1.</span> <span class="nav-text">路由器选择</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#仅本地域名"><span class="nav-number">2.3.2.</span> <span class="nav-text">仅本地域名</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#强制跳转"><span class="nav-number">2.3.3.</span> <span class="nav-text">强制跳转</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#控制会话方式"><span class="nav-number">2.4.</span> <span class="nav-text">控制会话方式</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#改变UID和GID"><span class="nav-number">2.5.</span> <span class="nav-text">改变UID和GID</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#接口"><span class="nav-number">2.6.</span> <span class="nav-text">接口</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#监听"><span class="nav-number">2.6.1.</span> <span class="nav-text">监听</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#一个接口上提供-DNS"><span class="nav-number">2.6.2.</span> <span class="nav-text">一个接口上提供 DNS</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#接口接受通配符地址"><span class="nav-number">2.6.3.</span> <span class="nav-text">接口接受通配符地址</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#hosts"><span class="nav-number">2.7.</span> <span class="nav-text">hosts</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#读取-etc-hosts文件"><span class="nav-number">2.7.1.</span> <span class="nav-text">读取/etc/hosts文件</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#添加其他hosts文件"><span class="nav-number">2.7.2.</span> <span class="nav-text">添加其他hosts文件</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#域名自动添加"><span class="nav-number">2.7.3.</span> <span class="nav-text">域名自动添加</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#dnsmasq-域名"><span class="nav-number">2.8.</span> <span class="nav-text">dnsmasq 域名</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#为dnsmasq设置一个域名，这是可选的，但一旦设置，它执行了如下行为"><span class="nav-number">2.8.1.</span> <span class="nav-text">为dnsmasq设置一个域名，这是可选的，但一旦设置，它执行了如下行为</span></a></li></ol></li></ol></li><li class="nav-item nav-level-1"><a class="nav-link" href="#DHCP"><span class="nav-number">3.</span> <span class="nav-text">DHCP</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#启用完整的-DHCP"><span class="nav-number">3.1.</span> <span class="nav-text">启用完整的 DHCP</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#DHCP-范围类型"><span class="nav-number">3.2.</span> <span class="nav-text">DHCP 范围类型</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#电子掩码"><span class="nav-number">3.2.1.</span> <span class="nav-text">电子掩码</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#网络ID"><span class="nav-number">3.2.2.</span> <span class="nav-text">网络ID</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#对主机的处理"><span class="nav-number">3.3.</span> <span class="nav-text">对主机的处理</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#对发现的物理地址-IP对执行动作"><span class="nav-number">3.4.</span> <span class="nav-text">对发现的物理地址/IP对执行动作</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#发送的选项"><span class="nav-number">3.5.</span> <span class="nav-text">发送的选项</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#路径"><span class="nav-number">3.5.1.</span> <span class="nav-text">路径</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#网络时间协议-NTP"><span class="nav-number">3.6.</span> <span class="nav-text">网络时间协议 NTP</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#存活时间"><span class="nav-number">3.7.</span> <span class="nav-text">存活时间</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#标志类"><span class="nav-number">3.8.</span> <span class="nav-text">标志类</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#标志-选项类"><span class="nav-number">3.9.</span> <span class="nav-text">标志+选项类</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#建立-dnsmasq"><span class="nav-number">3.10.</span> <span class="nav-text">建立 dnsmasq</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#域名查找"><span class="nav-number">3.11.</span> <span class="nav-text">域名查找</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#DNS-域名查找-DHCP"><span class="nav-number">3.11.1.</span> <span class="nav-text">DNS 域名查找 DHCP</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#静态路径"><span class="nav-number">3.12.</span> <span class="nav-text">静态路径</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#发送-RFC-3442-无分级-classless-静态路径-注意网络掩码的编码"><span class="nav-number">3.13.</span> <span class="nav-text">发送 RFC-3442 无分级( classless  )静态路径( 注意网络掩码的编码 )</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#提供商类特性选项"><span class="nav-number">3.14.</span> <span class="nav-text">提供商类特性选项</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#PXELinux"><span class="nav-number">3.15.</span> <span class="nav-text">PXELinux</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#发送选项给-PXELinux"><span class="nav-number">3.15.1.</span> <span class="nav-text">发送选项给 PXELinux</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#配置文件名"><span class="nav-number">3.15.2.</span> <span class="nav-text">配置文件名</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#路径前缀-prefix"><span class="nav-number">3.15.3.</span> <span class="nav-text">路径前缀( prefix )</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#重启时间-注意“-i-”发送-32-bit-值"><span class="nav-number">3.15.4.</span> <span class="nav-text">重启时间( 注意“ i ”发送 32-bit 值 )</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#为-netboot-PXE-设置-boot-文件名"><span class="nav-number">3.15.5.</span> <span class="nav-text">为 netboot/PXE 设置 boot 文件名</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#Boot-for-Etherboot-gPXE"><span class="nav-number">3.15.6.</span> <span class="nav-text">Boot for Etherboot gPXE.</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#Encapsulated-options-for-Etherboot-gPXE"><span class="nav-number">3.15.7.</span> <span class="nav-text">Encapsulated options for Etherboot gPXE.</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#Test-for-the-architecture-of-a-netboot-client-PXE-clients-如-option-93-发送它们的结构"><span class="nav-number">3.15.8.</span> <span class="nav-text">Test for the architecture of a netboot client. PXE clients 如 option 93 发送它们的结构</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#执行"><span class="nav-number">3.15.9.</span> <span class="nav-text">执行</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#执行真正的-PXE，不要仅启动单个文件"><span class="nav-number">3.15.9.1.</span> <span class="nav-text">执行真正的 PXE，不要仅启动单个文件,</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#Available-boot-services-for-PXE"><span class="nav-number">3.15.9.2.</span> <span class="nav-text">Available boot services. for PXE.</span></a></li></ol></li><li class="nav-item nav-level-3"><a class="nav-link" href="#装载"><span class="nav-number">3.15.10.</span> <span class="nav-text">装载</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#bootserver"><span class="nav-number">3.16.</span> <span class="nav-text">bootserver</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#TFTP"><span class="nav-number">3.17.</span> <span class="nav-text">TFTP</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#启用-dnsmasq’s-built-in-TFTP-server"><span class="nav-number">3.17.1.</span> <span class="nav-text">启用 dnsmasq’s built-in TFTP server</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#设置-FTP-文件-root-directory"><span class="nav-number">3.17.2.</span> <span class="nav-text">设置 FTP  文件 root directory</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#使-TFTP-伺服器更加安全"><span class="nav-number">3.17.3.</span> <span class="nav-text">使 TFTP 伺服器更加安全</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#只有“red”标志被设定的时候设置-boot-文件名"><span class="nav-number">3.17.4.</span> <span class="nav-text">只有“red”标志被设定的时候设置 boot 文件名</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#例子"><span class="nav-number">3.17.5.</span> <span class="nav-text">例子</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#服务器"><span class="nav-number">3.18.</span> <span class="nav-text">服务器</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#租借"><span class="nav-number">3.18.1.</span> <span class="nav-text">租借</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#租借限制"><span class="nav-number">3.18.1.1.</span> <span class="nav-text">租借限制</span></a></li></ol></li><li class="nav-item nav-level-3"><a class="nav-link" href="#磁盘"><span class="nav-number">3.18.2.</span> <span class="nav-text">磁盘</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#数据库占用"><span class="nav-number">3.18.2.1.</span> <span class="nav-text">数据库占用</span></a></li></ol></li><li class="nav-item nav-level-3"><a class="nav-link" href="#authoritative-模式"><span class="nav-number">3.18.3.</span> <span class="nav-text">authoritative 模式</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#创建或者销毁"><span class="nav-number">3.18.4.</span> <span class="nav-text">创建或者销毁</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#缓存"><span class="nav-number">3.18.5.</span> <span class="nav-text">缓存</span></a><ol class="nav-child"><li class="nav-item nav-level-4"><a class="nav-link" href="#设置缓存大小"><span class="nav-number">3.18.5.1.</span> <span class="nav-text">设置缓存大小</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#关闭-negative-caching"><span class="nav-number">3.18.5.2.</span> <span class="nav-text">关闭 negative caching</span></a></li><li class="nav-item nav-level-4"><a class="nav-link" href="#存活时间-1"><span class="nav-number">3.18.5.3.</span> <span class="nav-text">存活时间</span></a></li></ol></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#如果你想要-dnsmasq-去检测依据电子签名-Verisign-的尝试从而发送未注册的-com-和-net-主机到它的网站发现服务然后让-dnsmasq-替代性地返回正确的-NXDOMAIN-回答-respond-取消这一行的注释-你可以添加类似的-多-行为其他的注册-使用通配符-A-记录-执行同一效果"><span class="nav-number">3.19.</span> <span class="nav-text">如果你想要 dnsmasq 去检测依据电子签名( Verisign )的尝试从而发送未注册的 .com 和 .net 主机到它的网站发现服务然后让 dnsmasq 替代性地返回正确的 NXDOMAIN 回答( respond ), 取消这一行的注释. 你可以添加类似的(多)行为其他的注册( 使用通配符 A 记录 )执行同一效果</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#修改DNS结果"><span class="nav-number">3.20.</span> <span class="nav-text">修改DNS结果</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#MX-记录"><span class="nav-number">3.21.</span> <span class="nav-text">MX 记录</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#使用-localmx-option-为创建的-MX-记录设置默认目标"><span class="nav-number">3.21.1.</span> <span class="nav-text">使用 localmx option 为创建的 MX 记录设置默认目标</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#为所有本地机器返回一个指向-mx-target-的-MX-记录"><span class="nav-number">3.21.2.</span> <span class="nav-text">为所有本地机器返回一个指向 mx-target 的 MX 记录</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#为所有本地机器返回一个指向它们自己的-MX-记录"><span class="nav-number">3.21.3.</span> <span class="nav-text">为所有本地机器返回一个指向它们自己的 MX 记录</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#SRV-记录"><span class="nav-number">3.22.</span> <span class="nav-text">SRV 记录</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#PTR-记录"><span class="nav-number">3.23.</span> <span class="nav-text">PTR 记录</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#TXT-记录"><span class="nav-number">3.24.</span> <span class="nav-text">TXT 记录</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#别名-alias"><span class="nav-number">3.25.</span> <span class="nav-text">别名 alias</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#日志-log"><span class="nav-number">3.26.</span> <span class="nav-text">日志 log</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#想要-debugging-通过-dnsmasq-为每个-DNS-查询保存日志-log"><span class="nav-number">3.26.1.</span> <span class="nav-text">想要 debugging, 通过 dnsmasq 为每个 DNS 查询保存日志( log )</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#为-DHCP-交换的额外信息保存日志"><span class="nav-number">3.26.2.</span> <span class="nav-text">为 DHCP 交换的额外信息保存日志</span></a></li></ol></li></ol></li><li class="nav-item nav-level-1"><a class="nav-link" href="#包括其他多项的设置选项-configuration-options"><span class="nav-number">4.</span> <span class="nav-text">包括其他多项的设置选项( configuration options)</span></a></li><li class="nav-item nav-level-1"><a class="nav-link" href="#其他注释"><span class="nav-number">5.</span> <span class="nav-text">其他注释 (  )</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#DNSmasq"><span class="nav-number">5.1.</span> <span class="nav-text">DNSmasq</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#定义"><span class="nav-number">5.1.1.</span> <span class="nav-text">定义</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#简介"><span class="nav-number">5.1.2.</span> <span class="nav-text">简介</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#SRV记录"><span class="nav-number">5.2.</span> <span class="nav-text">SRV记录:</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#定义-："><span class="nav-number">5.2.1.</span> <span class="nav-text">定义 ：</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#简介："><span class="nav-number">5.2.2.</span> <span class="nav-text">简介：</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#SRV-记录功能包括（基于它们在-DNS-控制台的分组）"><span class="nav-number">5.2.3.</span> <span class="nav-text">SRV 记录功能包括（基于它们在 DNS 控制台的分组）</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#Kerberos："><span class="nav-number">5.3.</span> <span class="nav-text">Kerberos：</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#简介-1"><span class="nav-number">5.3.1.</span> <span class="nav-text">简介</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#认证过程"><span class="nav-number">5.3.2.</span> <span class="nav-text">认证过程</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#SIP"><span class="nav-number">5.4.</span> <span class="nav-text">SIP</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#SIP-（会话发起协议）"><span class="nav-number">5.4.1.</span> <span class="nav-text">SIP （会话发起协议）</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#压缩机制"><span class="nav-number">5.4.2.</span> <span class="nav-text">压缩机制</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#应用"><span class="nav-number">5.4.3.</span> <span class="nav-text">应用</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#XMPP-可扩展通讯和表示协议"><span class="nav-number">5.5.</span> <span class="nav-text">XMPP( 可扩展通讯和表示协议 )</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#Google-talk"><span class="nav-number">5.6.</span> <span class="nav-text">Google-talk</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#简介-2"><span class="nav-number">5.6.1.</span> <span class="nav-text">简介</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#功能"><span class="nav-number">5.6.2.</span> <span class="nav-text">功能</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#ISC"><span class="nav-number">5.7.</span> <span class="nav-text">ISC</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#简介-3"><span class="nav-number">5.7.1.</span> <span class="nav-text">简介</span></a></li></ol></li></ol></li><li class="nav-item nav-level-1"><a class="nav-link" href="#negative-caching"><span class="nav-number">6.</span> <span class="nav-text">negative_caching</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#定义-1"><span class="nav-number">6.1.</span> <span class="nav-text">定义</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#原理"><span class="nav-number">6.2.</span> <span class="nav-text">原理</span></a></li></ol></li></ol></div>
            

          </div>
        </section>
      <!--/noindex-->
      

      

    </div>
  </aside>


        
      </div>
    </main>

    <footer id="footer" class="footer">
      <div class="footer-inner">
        <div class="copyright">&copy; 2015 &mdash; <span itemprop="copyrightYear">2018</span>
  <span class="with-love">
    <i class="fa fa-user"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">pancc</span>

  
</div>









        







        
      </div>
    </footer>

    
      <div class="back-to-top">
        <i class="fa fa-arrow-up"></i>
        
      </div>
    

    

  </div>

  

<script type="text/javascript">
  if (Object.prototype.toString.call(window.Promise) !== '[object Function]') {
    window.Promise = null;
  }
</script>









  




  
  









  
  
    <script type="text/javascript" src="/lib/jquery/index.js?v=2.1.3"></script>
  

  
  
    <script type="text/javascript" src="/lib/fastclick/lib/fastclick.min.js?v=1.0.6"></script>
  

  
  
    <script type="text/javascript" src="/lib/jquery_lazyload/jquery.lazyload.js?v=1.9.7"></script>
  

  
  
    <script type="text/javascript" src="/lib/velocity/velocity.min.js?v=1.2.1"></script>
  

  
  
    <script type="text/javascript" src="/lib/velocity/velocity.ui.min.js?v=1.2.1"></script>
  

  
  
    <script type="text/javascript" src="/lib/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>
  

  
  
    <script type="text/javascript" src="/lib/three/three.min.js"></script>
  

  
  
    <script type="text/javascript" src="/lib/three/three-waves.min.js"></script>
  


  


  <script type="text/javascript" src="/js/src/utils.js?v=5.1.3"></script>

  <script type="text/javascript" src="/js/src/motion.js?v=5.1.3"></script>



  
  


  <script type="text/javascript" src="/js/src/affix.js?v=5.1.3"></script>

  <script type="text/javascript" src="/js/src/schemes/pisces.js?v=5.1.3"></script>



  
  <script type="text/javascript" src="/js/src/scrollspy.js?v=5.1.3"></script>
<script type="text/javascript" src="/js/src/post-details.js?v=5.1.3"></script>



  


  <script type="text/javascript" src="/js/src/bootstrap.js?v=5.1.3"></script>



  


  




	





  





  









<script src="//cdn1.lncld.net/static/js/3.0.4/av-min.js"></script>
<script src="//unpkg.com/valine/dist/Valine.min.js"></script>



  





  

  

  

  
  

  

  

  

</body>
</html>
